// Copyright 2020 Google LLC All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code was autogenerated. Do not edit directly.
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: sdk.proto

#include "sdk.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Spec_Health_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Status_PlayerStatus_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Status_Port_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_GameServer_Spec_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_GameServer_ObjectMeta_sdk_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_sdk_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_GameServer_Status_sdk_2eproto;
namespace agones {
namespace dev {
namespace sdk {
class EmptyDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Empty> _instance;
} _Empty_default_instance_;
class KeyValueDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<KeyValue> _instance;
} _KeyValue_default_instance_;
class DurationDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Duration> _instance;
} _Duration_default_instance_;
class GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> _instance;
} _GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
class GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_ObjectMeta_LabelsEntry_DoNotUse> _instance;
} _GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
class GameServer_ObjectMetaDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_ObjectMeta> _instance;
} _GameServer_ObjectMeta_default_instance_;
class GameServer_Spec_HealthDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_Spec_Health> _instance;
} _GameServer_Spec_Health_default_instance_;
class GameServer_SpecDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_Spec> _instance;
} _GameServer_Spec_default_instance_;
class GameServer_Status_PortDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_Status_Port> _instance;
} _GameServer_Status_Port_default_instance_;
class GameServer_Status_PlayerStatusDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_Status_PlayerStatus> _instance;
} _GameServer_Status_PlayerStatus_default_instance_;
class GameServer_StatusDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer_Status> _instance;
} _GameServer_Status_default_instance_;
class GameServerDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<GameServer> _instance;
} _GameServer_default_instance_;
}  // namespace sdk
}  // namespace dev
}  // namespace agones
static void InitDefaultsEmpty_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_Empty_default_instance_;
    new (ptr) ::agones::dev::sdk::Empty();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::Empty::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_Empty_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsEmpty_sdk_2eproto}, {}};

static void InitDefaultsKeyValue_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_KeyValue_default_instance_;
    new (ptr) ::agones::dev::sdk::KeyValue();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::KeyValue::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_KeyValue_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsKeyValue_sdk_2eproto}, {}};

static void InitDefaultsDuration_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_Duration_default_instance_;
    new (ptr) ::agones::dev::sdk::Duration();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::Duration::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsDuration_sdk_2eproto}, {}};

static void InitDefaultsGameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse();
  }
  ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsGameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto}, {}};

static void InitDefaultsGameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse();
  }
  ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsGameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto}, {}};

static void InitDefaultsGameServer_ObjectMeta_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_ObjectMeta_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_ObjectMeta();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_ObjectMeta::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<2> scc_info_GameServer_ObjectMeta_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsGameServer_ObjectMeta_sdk_2eproto}, {
      &scc_info_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto.base,
      &scc_info_GameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto.base,}};

static void InitDefaultsGameServer_Spec_Health_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_Spec_Health_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_Spec_Health();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_Spec_Health::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Spec_Health_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsGameServer_Spec_Health_sdk_2eproto}, {}};

static void InitDefaultsGameServer_Spec_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_Spec_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_Spec();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_Spec::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<1> scc_info_GameServer_Spec_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsGameServer_Spec_sdk_2eproto}, {
      &scc_info_GameServer_Spec_Health_sdk_2eproto.base,}};

static void InitDefaultsGameServer_Status_Port_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_Status_Port_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_Status_Port();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_Status_Port::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Status_Port_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsGameServer_Status_Port_sdk_2eproto}, {}};

static void InitDefaultsGameServer_Status_PlayerStatus_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_Status_PlayerStatus_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_Status_PlayerStatus();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_Status_PlayerStatus::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<0> scc_info_GameServer_Status_PlayerStatus_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsGameServer_Status_PlayerStatus_sdk_2eproto}, {}};

static void InitDefaultsGameServer_Status_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_Status_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer_Status();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer_Status::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<2> scc_info_GameServer_Status_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsGameServer_Status_sdk_2eproto}, {
      &scc_info_GameServer_Status_Port_sdk_2eproto.base,
      &scc_info_GameServer_Status_PlayerStatus_sdk_2eproto.base,}};

static void InitDefaultsGameServer_sdk_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::agones::dev::sdk::_GameServer_default_instance_;
    new (ptr) ::agones::dev::sdk::GameServer();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::agones::dev::sdk::GameServer::InitAsDefaultInstance();
}

AGONES_EXPORT ::google::protobuf::internal::SCCInfo<3> scc_info_GameServer_sdk_2eproto =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsGameServer_sdk_2eproto}, {
      &scc_info_GameServer_ObjectMeta_sdk_2eproto.base,
      &scc_info_GameServer_Spec_sdk_2eproto.base,
      &scc_info_GameServer_Status_sdk_2eproto.base,}};

void InitDefaults_sdk_2eproto() {
  ::google::protobuf::internal::InitSCC(&scc_info_Empty_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_KeyValue_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Duration_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_ObjectMeta_LabelsEntry_DoNotUse_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_ObjectMeta_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_Spec_Health_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_Spec_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_Status_Port_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_Status_PlayerStatus_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_Status_sdk_2eproto.base);
  ::google::protobuf::internal::InitSCC(&scc_info_GameServer_sdk_2eproto.base);
}

::google::protobuf::Metadata file_level_metadata_sdk_2eproto[12];
constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_sdk_2eproto = nullptr;
constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_sdk_2eproto = nullptr;

const ::google::protobuf::uint32 TableStruct_sdk_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::Empty, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::KeyValue, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::KeyValue, key_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::KeyValue, value_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::Duration, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::Duration, seconds_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, name_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, namespace__),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, uid_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, resource_version_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, generation_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, creation_timestamp_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, deletion_timestamp_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, annotations_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_ObjectMeta, labels_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec_Health, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec_Health, disabled_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec_Health, period_seconds_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec_Health, failure_threshold_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec_Health, initial_delay_seconds_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Spec, health_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_Port, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_Port, name_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_Port, port_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_PlayerStatus, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_PlayerStatus, count_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_PlayerStatus, capacity_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status_PlayerStatus, ids_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status, state_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status, address_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status, ports_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer_Status, players_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer, object_meta_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer, spec_),
  PROTOBUF_FIELD_OFFSET(::agones::dev::sdk::GameServer, status_),
};
static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::agones::dev::sdk::Empty)},
  { 5, -1, sizeof(::agones::dev::sdk::KeyValue)},
  { 12, -1, sizeof(::agones::dev::sdk::Duration)},
  { 18, 25, sizeof(::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse)},
  { 27, 34, sizeof(::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse)},
  { 36, -1, sizeof(::agones::dev::sdk::GameServer_ObjectMeta)},
  { 50, -1, sizeof(::agones::dev::sdk::GameServer_Spec_Health)},
  { 59, -1, sizeof(::agones::dev::sdk::GameServer_Spec)},
  { 65, -1, sizeof(::agones::dev::sdk::GameServer_Status_Port)},
  { 72, -1, sizeof(::agones::dev::sdk::GameServer_Status_PlayerStatus)},
  { 80, -1, sizeof(::agones::dev::sdk::GameServer_Status)},
  { 89, -1, sizeof(::agones::dev::sdk::GameServer)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_Empty_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_KeyValue_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_Duration_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_ObjectMeta_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_Spec_Health_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_Spec_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_Status_Port_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_Status_PlayerStatus_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_Status_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::agones::dev::sdk::_GameServer_default_instance_),
};

::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_sdk_2eproto = {
  {}, AddDescriptors_sdk_2eproto, "sdk.proto", schemas,
  file_default_instances, TableStruct_sdk_2eproto::offsets,
  file_level_metadata_sdk_2eproto, 12, file_level_enum_descriptors_sdk_2eproto, file_level_service_descriptors_sdk_2eproto,
};

const char descriptor_table_protodef_sdk_2eproto[] =
  "\n\tsdk.proto\022\016agones.dev.sdk\032\034google/api/"
  "annotations.proto\"\007\n\005Empty\"&\n\010KeyValue\022\013"
  "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\033\n\010Duration\022\017"
  "\n\007seconds\030\001 \001(\003\"\364\007\n\nGameServer\022:\n\013object"
  "_meta\030\001 \001(\0132%.agones.dev.sdk.GameServer."
  "ObjectMeta\022-\n\004spec\030\002 \001(\0132\037.agones.dev.sd"
  "k.GameServer.Spec\0221\n\006status\030\003 \001(\0132!.agon"
  "es.dev.sdk.GameServer.Status\032\223\003\n\nObjectM"
  "eta\022\014\n\004name\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\022\013\n\003"
  "uid\030\003 \001(\t\022\030\n\020resource_version\030\004 \001(\t\022\022\n\ng"
  "eneration\030\005 \001(\003\022\032\n\022creation_timestamp\030\006 "
  "\001(\003\022\032\n\022deletion_timestamp\030\007 \001(\003\022K\n\013annot"
  "ations\030\010 \003(\01326.agones.dev.sdk.GameServer"
  ".ObjectMeta.AnnotationsEntry\022A\n\006labels\030\t"
  " \003(\01321.agones.dev.sdk.GameServer.ObjectM"
  "eta.LabelsEntry\0322\n\020AnnotationsEntry\022\013\n\003k"
  "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032-\n\013LabelsEnt"
  "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032\254\001\n\004S"
  "pec\0226\n\006health\030\001 \001(\0132&.agones.dev.sdk.Gam"
  "eServer.Spec.Health\032l\n\006Health\022\020\n\010disable"
  "d\030\001 \001(\010\022\026\n\016period_seconds\030\002 \001(\005\022\031\n\021failu"
  "re_threshold\030\003 \001(\005\022\035\n\025initial_delay_seco"
  "nds\030\004 \001(\005\032\202\002\n\006Status\022\r\n\005state\030\001 \001(\t\022\017\n\007a"
  "ddress\030\002 \001(\t\0225\n\005ports\030\003 \003(\0132&.agones.dev"
  ".sdk.GameServer.Status.Port\022\?\n\007players\030\004"
  " \001(\0132..agones.dev.sdk.GameServer.Status."
  "PlayerStatus\032\"\n\004Port\022\014\n\004name\030\001 \001(\t\022\014\n\004po"
  "rt\030\002 \001(\005\032<\n\014PlayerStatus\022\r\n\005count\030\001 \001(\003\022"
  "\020\n\010capacity\030\002 \001(\003\022\013\n\003ids\030\003 \003(\t2\206\006\n\003SDK\022H"
  "\n\005Ready\022\025.agones.dev.sdk.Empty\032\025.agones."
  "dev.sdk.Empty\"\021\202\323\344\223\002\013\"\006/ready:\001*\022N\n\010Allo"
  "cate\022\025.agones.dev.sdk.Empty\032\025.agones.dev"
  ".sdk.Empty\"\024\202\323\344\223\002\016\"\t/allocate:\001*\022N\n\010Shut"
  "down\022\025.agones.dev.sdk.Empty\032\025.agones.dev"
  ".sdk.Empty\"\024\202\323\344\223\002\016\"\t/shutdown:\001*\022L\n\006Heal"
  "th\022\025.agones.dev.sdk.Empty\032\025.agones.dev.s"
  "dk.Empty\"\022\202\323\344\223\002\014\"\007/health:\001*(\001\022W\n\rGetGam"
  "eServer\022\025.agones.dev.sdk.Empty\032\032.agones."
  "dev.sdk.GameServer\"\023\202\323\344\223\002\r\022\013/gameserver\022"
  "a\n\017WatchGameServer\022\025.agones.dev.sdk.Empt"
  "y\032\032.agones.dev.sdk.GameServer\"\031\202\323\344\223\002\023\022\021/"
  "watch/gameserver0\001\022W\n\010SetLabel\022\030.agones."
  "dev.sdk.KeyValue\032\025.agones.dev.sdk.Empty\""
  "\032\202\323\344\223\002\024\032\017/metadata/label:\001*\022a\n\rSetAnnota"
  "tion\022\030.agones.dev.sdk.KeyValue\032\025.agones."
  "dev.sdk.Empty\"\037\202\323\344\223\002\031\032\024/metadata/annotat"
  "ion:\001*\022O\n\007Reserve\022\030.agones.dev.sdk.Durat"
  "ion\032\025.agones.dev.sdk.Empty\"\023\202\323\344\223\002\r\"\010/res"
  "erve:\001*B\005Z\003sdkb\006proto3"
  ;
::google::protobuf::internal::DescriptorTable descriptor_table_sdk_2eproto = {
  false, InitDefaults_sdk_2eproto, 
  descriptor_table_protodef_sdk_2eproto,
  "sdk.proto", &assign_descriptors_table_sdk_2eproto, 1942,
};

void AddDescriptors_sdk_2eproto() {
  static constexpr ::google::protobuf::internal::InitFunc deps[1] =
  {
    ::AddDescriptors_google_2fapi_2fannotations_2eproto,
  };
 ::google::protobuf::internal::AddDescriptors(&descriptor_table_sdk_2eproto, deps, 1);
}

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_sdk_2eproto = []() { AddDescriptors_sdk_2eproto(); return true; }();
namespace agones {
namespace dev {
namespace sdk {

// ===================================================================

void Empty::InitAsDefaultInstance() {
}
class Empty::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Empty::Empty()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.Empty)
}
Empty::Empty(const Empty& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.Empty)
}

void Empty::SharedCtor() {
}

Empty::~Empty() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.Empty)
  SharedDtor();
}

void Empty::SharedDtor() {
}

void Empty::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Empty& Empty::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_Empty_sdk_2eproto.base);
  return *internal_default_instance();
}


void Empty::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.Empty)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* Empty::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<Empty*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      default: {
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool Empty::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.Empty)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
  handle_unusual:
    if (tag == 0) {
      goto success;
    }
    DO_(::google::protobuf::internal::WireFormat::SkipField(
          input, tag, _internal_metadata_.mutable_unknown_fields()));
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.Empty)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.Empty)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void Empty::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.Empty)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.Empty)
}

::google::protobuf::uint8* Empty::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.Empty)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.Empty)
  return target;
}

size_t Empty::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.Empty)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Empty::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.Empty)
  GOOGLE_DCHECK_NE(&from, this);
  const Empty* source =
      ::google::protobuf::DynamicCastToGenerated<Empty>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.Empty)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.Empty)
    MergeFrom(*source);
  }
}

void Empty::MergeFrom(const Empty& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.Empty)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

}

void Empty::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.Empty)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Empty::CopyFrom(const Empty& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.Empty)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Empty::IsInitialized() const {
  return true;
}

void Empty::Swap(Empty* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Empty::InternalSwap(Empty* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Empty::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void KeyValue::InitAsDefaultInstance() {
}
class KeyValue::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int KeyValue::kKeyFieldNumber;
const int KeyValue::kValueFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

KeyValue::KeyValue()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.KeyValue)
}
KeyValue::KeyValue(const KeyValue& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.key().size() > 0) {
    key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
  }
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.value().size() > 0) {
    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
  }
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.KeyValue)
}

void KeyValue::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_KeyValue_sdk_2eproto.base);
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

KeyValue::~KeyValue() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.KeyValue)
  SharedDtor();
}

void KeyValue::SharedDtor() {
  key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void KeyValue::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const KeyValue& KeyValue::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_KeyValue_sdk_2eproto.base);
  return *internal_default_instance();
}


void KeyValue::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.KeyValue)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* KeyValue::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<KeyValue*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // string key = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.KeyValue.key");
        object = msg->mutable_key();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // string value = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.KeyValue.value");
        object = msg->mutable_value();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
string_till_end:
  static_cast<::std::string*>(object)->clear();
  static_cast<::std::string*>(object)->reserve(size);
  goto len_delim_till_end;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool KeyValue::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.KeyValue)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string key = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_key()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->key().data(), static_cast<int>(this->key().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.KeyValue.key"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_value()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->value().data(), static_cast<int>(this->value().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.KeyValue.value"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.KeyValue)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.KeyValue)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void KeyValue::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.KeyValue)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string key = 1;
  if (this->key().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->key().data(), static_cast<int>(this->key().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.KeyValue.key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->key(), output);
  }

  // string value = 2;
  if (this->value().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->value().data(), static_cast<int>(this->value().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.KeyValue.value");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->value(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.KeyValue)
}

::google::protobuf::uint8* KeyValue::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.KeyValue)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string key = 1;
  if (this->key().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->key().data(), static_cast<int>(this->key().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.KeyValue.key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->key(), target);
  }

  // string value = 2;
  if (this->value().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->value().data(), static_cast<int>(this->value().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.KeyValue.value");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->value(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.KeyValue)
  return target;
}

size_t KeyValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.KeyValue)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string key = 1;
  if (this->key().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->key());
  }

  // string value = 2;
  if (this->value().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->value());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void KeyValue::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.KeyValue)
  GOOGLE_DCHECK_NE(&from, this);
  const KeyValue* source =
      ::google::protobuf::DynamicCastToGenerated<KeyValue>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.KeyValue)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.KeyValue)
    MergeFrom(*source);
  }
}

void KeyValue::MergeFrom(const KeyValue& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.KeyValue)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.key().size() > 0) {

    key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
  }
  if (from.value().size() > 0) {

    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
  }
}

void KeyValue::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.KeyValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void KeyValue::CopyFrom(const KeyValue& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.KeyValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool KeyValue::IsInitialized() const {
  return true;
}

void KeyValue::Swap(KeyValue* other) {
  if (other == this) return;
  InternalSwap(other);
}
void KeyValue::InternalSwap(KeyValue* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  key_.Swap(&other->key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  value_.Swap(&other->value_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
}

::google::protobuf::Metadata KeyValue::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void Duration::InitAsDefaultInstance() {
}
class Duration::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Duration::kSecondsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Duration::Duration()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.Duration)
}
Duration::Duration(const Duration& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  seconds_ = from.seconds_;
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.Duration)
}

void Duration::SharedCtor() {
  seconds_ = PROTOBUF_LONGLONG(0);
}

Duration::~Duration() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.Duration)
  SharedDtor();
}

void Duration::SharedDtor() {
}

void Duration::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Duration& Duration::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_Duration_sdk_2eproto.base);
  return *internal_default_instance();
}


void Duration::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.Duration)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  seconds_ = PROTOBUF_LONGLONG(0);
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* Duration::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<Duration*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // int64 seconds = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual;
        msg->set_seconds(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool Duration::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.Duration)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 seconds = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &seconds_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.Duration)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.Duration)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void Duration::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.Duration)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 seconds = 1;
  if (this->seconds() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->seconds(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.Duration)
}

::google::protobuf::uint8* Duration::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.Duration)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 seconds = 1;
  if (this->seconds() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->seconds(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.Duration)
  return target;
}

size_t Duration::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.Duration)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int64 seconds = 1;
  if (this->seconds() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->seconds());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Duration::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.Duration)
  GOOGLE_DCHECK_NE(&from, this);
  const Duration* source =
      ::google::protobuf::DynamicCastToGenerated<Duration>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.Duration)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.Duration)
    MergeFrom(*source);
  }
}

void Duration::MergeFrom(const Duration& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.Duration)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.seconds() != 0) {
    set_seconds(from.seconds());
  }
}

void Duration::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.Duration)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Duration::CopyFrom(const Duration& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.Duration)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Duration::IsInitialized() const {
  return true;
}

void Duration::Swap(Duration* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Duration::InternalSwap(Duration* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(seconds_, other->seconds_);
}

::google::protobuf::Metadata Duration::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse() {}
GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
void GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::MergeFrom(const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::google::protobuf::Metadata GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[3];
}
void GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::MergeFrom(
    const ::google::protobuf::Message& other) {
  ::google::protobuf::Message::MergeFrom(other);
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::_ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx) {
  using MF = ::google::protobuf::internal::MapField<
      GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, EntryKeyType, EntryValueType,
      kEntryKeyFieldType, kEntryValueFieldType,
      kEntryDefaultEnumValue>;
  auto mf = static_cast<MF*>(object);
  Parser<MF, ::google::protobuf::Map<EntryKeyType, EntryValueType>> parser(mf);
#define DO_(x) if (!(x)) return false
  DO_(parser.ParseMap(begin, end));
  DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
    parser.key().data(), static_cast<int>(parser.key().length()),
    ::google::protobuf::internal::WireFormatLite::PARSE,
    "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.key"));
  DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
    parser.value().data(), static_cast<int>(parser.value().length()),
    ::google::protobuf::internal::WireFormatLite::PARSE,
    "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.value"));
#undef DO_
  return true;
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER


// ===================================================================

GameServer_ObjectMeta_LabelsEntry_DoNotUse::GameServer_ObjectMeta_LabelsEntry_DoNotUse() {}
GameServer_ObjectMeta_LabelsEntry_DoNotUse::GameServer_ObjectMeta_LabelsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
void GameServer_ObjectMeta_LabelsEntry_DoNotUse::MergeFrom(const GameServer_ObjectMeta_LabelsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::google::protobuf::Metadata GameServer_ObjectMeta_LabelsEntry_DoNotUse::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[4];
}
void GameServer_ObjectMeta_LabelsEntry_DoNotUse::MergeFrom(
    const ::google::protobuf::Message& other) {
  ::google::protobuf::Message::MergeFrom(other);
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_ObjectMeta_LabelsEntry_DoNotUse::_ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx) {
  using MF = ::google::protobuf::internal::MapField<
      GameServer_ObjectMeta_LabelsEntry_DoNotUse, EntryKeyType, EntryValueType,
      kEntryKeyFieldType, kEntryValueFieldType,
      kEntryDefaultEnumValue>;
  auto mf = static_cast<MF*>(object);
  Parser<MF, ::google::protobuf::Map<EntryKeyType, EntryValueType>> parser(mf);
#define DO_(x) if (!(x)) return false
  DO_(parser.ParseMap(begin, end));
  DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
    parser.key().data(), static_cast<int>(parser.key().length()),
    ::google::protobuf::internal::WireFormatLite::PARSE,
    "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.key"));
  DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
    parser.value().data(), static_cast<int>(parser.value().length()),
    ::google::protobuf::internal::WireFormatLite::PARSE,
    "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.value"));
#undef DO_
  return true;
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER


// ===================================================================

void GameServer_ObjectMeta::InitAsDefaultInstance() {
}
class GameServer_ObjectMeta::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_ObjectMeta::kNameFieldNumber;
const int GameServer_ObjectMeta::kNamespaceFieldNumber;
const int GameServer_ObjectMeta::kUidFieldNumber;
const int GameServer_ObjectMeta::kResourceVersionFieldNumber;
const int GameServer_ObjectMeta::kGenerationFieldNumber;
const int GameServer_ObjectMeta::kCreationTimestampFieldNumber;
const int GameServer_ObjectMeta::kDeletionTimestampFieldNumber;
const int GameServer_ObjectMeta::kAnnotationsFieldNumber;
const int GameServer_ObjectMeta::kLabelsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_ObjectMeta::GameServer_ObjectMeta()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.ObjectMeta)
}
GameServer_ObjectMeta::GameServer_ObjectMeta(const GameServer_ObjectMeta& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  annotations_.MergeFrom(from.annotations_);
  labels_.MergeFrom(from.labels_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.name().size() > 0) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  namespace__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.namespace_().size() > 0) {
    namespace__.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.namespace__);
  }
  uid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.uid().size() > 0) {
    uid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uid_);
  }
  resource_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.resource_version().size() > 0) {
    resource_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.resource_version_);
  }
  ::memcpy(&generation_, &from.generation_,
    static_cast<size_t>(reinterpret_cast<char*>(&deletion_timestamp_) -
    reinterpret_cast<char*>(&generation_)) + sizeof(deletion_timestamp_));
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.ObjectMeta)
}

void GameServer_ObjectMeta::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_ObjectMeta_sdk_2eproto.base);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  namespace__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  uid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  resource_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&generation_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&deletion_timestamp_) -
      reinterpret_cast<char*>(&generation_)) + sizeof(deletion_timestamp_));
}

GameServer_ObjectMeta::~GameServer_ObjectMeta() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.ObjectMeta)
  SharedDtor();
}

void GameServer_ObjectMeta::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  namespace__.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  uid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  resource_version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void GameServer_ObjectMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_ObjectMeta& GameServer_ObjectMeta::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_ObjectMeta_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_ObjectMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.ObjectMeta)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  annotations_.Clear();
  labels_.Clear();
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  namespace__.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  uid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  resource_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&generation_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&deletion_timestamp_) -
      reinterpret_cast<char*>(&generation_)) + sizeof(deletion_timestamp_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_ObjectMeta::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_ObjectMeta*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // string name = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.ObjectMeta.name");
        object = msg->mutable_name();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // string namespace = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.ObjectMeta.namespace");
        object = msg->mutable_namespace_();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // string uid = 3;
      case 3: {
        if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.ObjectMeta.uid");
        object = msg->mutable_uid();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // string resource_version = 4;
      case 4: {
        if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.ObjectMeta.resource_version");
        object = msg->mutable_resource_version();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // int64 generation = 5;
      case 5: {
        if (static_cast<::google::protobuf::uint8>(tag) != 40) goto handle_unusual;
        msg->set_generation(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int64 creation_timestamp = 6;
      case 6: {
        if (static_cast<::google::protobuf::uint8>(tag) != 48) goto handle_unusual;
        msg->set_creation_timestamp(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int64 deletion_timestamp = 7;
      case 7: {
        if (static_cast<::google::protobuf::uint8>(tag) != 56) goto handle_unusual;
        msg->set_deletion_timestamp(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // map<string, string> annotations = 8;
      case 8: {
        if (static_cast<::google::protobuf::uint8>(tag) != 66) goto handle_unusual;
        do {
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::google::protobuf::internal::SlowMapEntryParser;
          auto parse_map = ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::_ParseMap;
          ctx->extra_parse_data().payload.clear();
          ctx->extra_parse_data().parse_map = parse_map;
          object = &msg->annotations_;
          if (size > end - ptr) goto len_delim_till_end;
          auto newend = ptr + size;
          GOOGLE_PROTOBUF_PARSER_ASSERT(parse_map(ptr, newend, object, ctx));
          ptr = newend;
          if (ptr >= end) break;
        } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 66 && (ptr += 1));
        break;
      }
      // map<string, string> labels = 9;
      case 9: {
        if (static_cast<::google::protobuf::uint8>(tag) != 74) goto handle_unusual;
        do {
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::google::protobuf::internal::SlowMapEntryParser;
          auto parse_map = ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse::_ParseMap;
          ctx->extra_parse_data().payload.clear();
          ctx->extra_parse_data().parse_map = parse_map;
          object = &msg->labels_;
          if (size > end - ptr) goto len_delim_till_end;
          auto newend = ptr + size;
          GOOGLE_PROTOBUF_PARSER_ASSERT(parse_map(ptr, newend, object, ctx));
          ptr = newend;
          if (ptr >= end) break;
        } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 74 && (ptr += 1));
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
string_till_end:
  static_cast<::std::string*>(object)->clear();
  static_cast<::std::string*>(object)->reserve(size);
  goto len_delim_till_end;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_ObjectMeta::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.ObjectMeta)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), static_cast<int>(this->name().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string namespace = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_namespace_()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->namespace_().data(), static_cast<int>(this->namespace_().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.namespace"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string uid = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_uid()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->uid().data(), static_cast<int>(this->uid().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.uid"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string resource_version = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_resource_version()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->resource_version().data(), static_cast<int>(this->resource_version().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.resource_version"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 generation = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (40 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &generation_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 creation_timestamp = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (48 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &creation_timestamp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 deletion_timestamp = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (56 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &deletion_timestamp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // map<string, string> annotations = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (66 & 0xFF)) {
          GameServer_ObjectMeta_AnnotationsEntry_DoNotUse::Parser< ::google::protobuf::internal::MapField<
              GameServer_ObjectMeta_AnnotationsEntry_DoNotUse,
              ::std::string, ::std::string,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              0 >,
            ::google::protobuf::Map< ::std::string, ::std::string > > parser(&annotations_);
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
              input, &parser));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.key().data(), static_cast<int>(parser.key().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.key"));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.value().data(), static_cast<int>(parser.value().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.value"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // map<string, string> labels = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (74 & 0xFF)) {
          GameServer_ObjectMeta_LabelsEntry_DoNotUse::Parser< ::google::protobuf::internal::MapField<
              GameServer_ObjectMeta_LabelsEntry_DoNotUse,
              ::std::string, ::std::string,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              0 >,
            ::google::protobuf::Map< ::std::string, ::std::string > > parser(&labels_);
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
              input, &parser));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.key().data(), static_cast<int>(parser.key().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.key"));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.value().data(), static_cast<int>(parser.value().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.value"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.ObjectMeta)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.ObjectMeta)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_ObjectMeta::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.ObjectMeta)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // string namespace = 2;
  if (this->namespace_().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->namespace_().data(), static_cast<int>(this->namespace_().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.namespace");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->namespace_(), output);
  }

  // string uid = 3;
  if (this->uid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->uid().data(), static_cast<int>(this->uid().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.uid");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->uid(), output);
  }

  // string resource_version = 4;
  if (this->resource_version().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->resource_version().data(), static_cast<int>(this->resource_version().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.resource_version");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->resource_version(), output);
  }

  // int64 generation = 5;
  if (this->generation() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->generation(), output);
  }

  // int64 creation_timestamp = 6;
  if (this->creation_timestamp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->creation_timestamp(), output);
  }

  // int64 deletion_timestamp = 7;
  if (this->deletion_timestamp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(7, this->deletion_timestamp(), output);
  }

  // map<string, string> annotations = 8;
  if (!this->annotations().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.value");
      }
    };

    if (output->IsSerializationDeterministic() &&
        this->annotations().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->annotations().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->annotations().begin();
          it != this->annotations().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      ::std::unique_ptr<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(annotations_.NewEntryWrapper(items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(8, *entry, output);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      ::std::unique_ptr<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->annotations().begin();
          it != this->annotations().end(); ++it) {
        entry.reset(annotations_.NewEntryWrapper(it->first, it->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(8, *entry, output);
        Utf8Check::Check(&(*it));
      }
    }
  }

  // map<string, string> labels = 9;
  if (!this->labels().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.value");
      }
    };

    if (output->IsSerializationDeterministic() &&
        this->labels().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->labels().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->labels().begin();
          it != this->labels().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      ::std::unique_ptr<GameServer_ObjectMeta_LabelsEntry_DoNotUse> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(labels_.NewEntryWrapper(items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(9, *entry, output);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      ::std::unique_ptr<GameServer_ObjectMeta_LabelsEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->labels().begin();
          it != this->labels().end(); ++it) {
        entry.reset(labels_.NewEntryWrapper(it->first, it->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(9, *entry, output);
        Utf8Check::Check(&(*it));
      }
    }
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.ObjectMeta)
}

::google::protobuf::uint8* GameServer_ObjectMeta::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.ObjectMeta)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->name(), target);
  }

  // string namespace = 2;
  if (this->namespace_().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->namespace_().data(), static_cast<int>(this->namespace_().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.namespace");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->namespace_(), target);
  }

  // string uid = 3;
  if (this->uid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->uid().data(), static_cast<int>(this->uid().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.uid");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->uid(), target);
  }

  // string resource_version = 4;
  if (this->resource_version().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->resource_version().data(), static_cast<int>(this->resource_version().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.ObjectMeta.resource_version");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->resource_version(), target);
  }

  // int64 generation = 5;
  if (this->generation() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->generation(), target);
  }

  // int64 creation_timestamp = 6;
  if (this->creation_timestamp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(6, this->creation_timestamp(), target);
  }

  // int64 deletion_timestamp = 7;
  if (this->deletion_timestamp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(7, this->deletion_timestamp(), target);
  }

  // map<string, string> annotations = 8;
  if (!this->annotations().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.AnnotationsEntry.value");
      }
    };

    if (false &&
        this->annotations().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->annotations().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->annotations().begin();
          it != this->annotations().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      ::std::unique_ptr<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(annotations_.NewEntryWrapper(items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
        target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray(8, *entry, target);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      ::std::unique_ptr<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->annotations().begin();
          it != this->annotations().end(); ++it) {
        entry.reset(annotations_.NewEntryWrapper(it->first, it->second));
        target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray(8, *entry, target);
        Utf8Check::Check(&(*it));
      }
    }
  }

  // map<string, string> labels = 9;
  if (!this->labels().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "agones.dev.sdk.GameServer.ObjectMeta.LabelsEntry.value");
      }
    };

    if (false &&
        this->labels().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->labels().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->labels().begin();
          it != this->labels().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      ::std::unique_ptr<GameServer_ObjectMeta_LabelsEntry_DoNotUse> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(labels_.NewEntryWrapper(items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
        target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray(9, *entry, target);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      ::std::unique_ptr<GameServer_ObjectMeta_LabelsEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->labels().begin();
          it != this->labels().end(); ++it) {
        entry.reset(labels_.NewEntryWrapper(it->first, it->second));
        target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray(9, *entry, target);
        Utf8Check::Check(&(*it));
      }
    }
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.ObjectMeta)
  return target;
}

size_t GameServer_ObjectMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.ObjectMeta)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> annotations = 8;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->annotations_size());
  {
    ::std::unique_ptr<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse> entry;
    for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
        it = this->annotations().begin();
        it != this->annotations().end(); ++it) {
      entry.reset(annotations_.NewEntryWrapper(it->first, it->second));
      total_size += ::google::protobuf::internal::WireFormatLite::
          MessageSizeNoVirtual(*entry);
    }
  }

  // map<string, string> labels = 9;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->labels_size());
  {
    ::std::unique_ptr<GameServer_ObjectMeta_LabelsEntry_DoNotUse> entry;
    for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
        it = this->labels().begin();
        it != this->labels().end(); ++it) {
      entry.reset(labels_.NewEntryWrapper(it->first, it->second));
      total_size += ::google::protobuf::internal::WireFormatLite::
          MessageSizeNoVirtual(*entry);
    }
  }

  // string name = 1;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  // string namespace = 2;
  if (this->namespace_().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->namespace_());
  }

  // string uid = 3;
  if (this->uid().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->uid());
  }

  // string resource_version = 4;
  if (this->resource_version().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->resource_version());
  }

  // int64 generation = 5;
  if (this->generation() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->generation());
  }

  // int64 creation_timestamp = 6;
  if (this->creation_timestamp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->creation_timestamp());
  }

  // int64 deletion_timestamp = 7;
  if (this->deletion_timestamp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->deletion_timestamp());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_ObjectMeta::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.ObjectMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_ObjectMeta* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_ObjectMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.ObjectMeta)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.ObjectMeta)
    MergeFrom(*source);
  }
}

void GameServer_ObjectMeta::MergeFrom(const GameServer_ObjectMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.ObjectMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  annotations_.MergeFrom(from.annotations_);
  labels_.MergeFrom(from.labels_);
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  if (from.namespace_().size() > 0) {

    namespace__.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.namespace__);
  }
  if (from.uid().size() > 0) {

    uid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uid_);
  }
  if (from.resource_version().size() > 0) {

    resource_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.resource_version_);
  }
  if (from.generation() != 0) {
    set_generation(from.generation());
  }
  if (from.creation_timestamp() != 0) {
    set_creation_timestamp(from.creation_timestamp());
  }
  if (from.deletion_timestamp() != 0) {
    set_deletion_timestamp(from.deletion_timestamp());
  }
}

void GameServer_ObjectMeta::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.ObjectMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_ObjectMeta::CopyFrom(const GameServer_ObjectMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.ObjectMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_ObjectMeta::IsInitialized() const {
  return true;
}

void GameServer_ObjectMeta::Swap(GameServer_ObjectMeta* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_ObjectMeta::InternalSwap(GameServer_ObjectMeta* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  annotations_.Swap(&other->annotations_);
  labels_.Swap(&other->labels_);
  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  namespace__.Swap(&other->namespace__, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  uid_.Swap(&other->uid_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  resource_version_.Swap(&other->resource_version_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(generation_, other->generation_);
  swap(creation_timestamp_, other->creation_timestamp_);
  swap(deletion_timestamp_, other->deletion_timestamp_);
}

::google::protobuf::Metadata GameServer_ObjectMeta::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer_Spec_Health::InitAsDefaultInstance() {
}
class GameServer_Spec_Health::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_Spec_Health::kDisabledFieldNumber;
const int GameServer_Spec_Health::kPeriodSecondsFieldNumber;
const int GameServer_Spec_Health::kFailureThresholdFieldNumber;
const int GameServer_Spec_Health::kInitialDelaySecondsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_Spec_Health::GameServer_Spec_Health()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.Spec.Health)
}
GameServer_Spec_Health::GameServer_Spec_Health(const GameServer_Spec_Health& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&disabled_, &from.disabled_,
    static_cast<size_t>(reinterpret_cast<char*>(&initial_delay_seconds_) -
    reinterpret_cast<char*>(&disabled_)) + sizeof(initial_delay_seconds_));
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.Spec.Health)
}

void GameServer_Spec_Health::SharedCtor() {
  ::memset(&disabled_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&initial_delay_seconds_) -
      reinterpret_cast<char*>(&disabled_)) + sizeof(initial_delay_seconds_));
}

GameServer_Spec_Health::~GameServer_Spec_Health() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.Spec.Health)
  SharedDtor();
}

void GameServer_Spec_Health::SharedDtor() {
}

void GameServer_Spec_Health::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_Spec_Health& GameServer_Spec_Health::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_Spec_Health_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_Spec_Health::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.Spec.Health)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&disabled_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&initial_delay_seconds_) -
      reinterpret_cast<char*>(&disabled_)) + sizeof(initial_delay_seconds_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_Spec_Health::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_Spec_Health*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // bool disabled = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual;
        msg->set_disabled(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int32 period_seconds = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
        msg->set_period_seconds(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int32 failure_threshold = 3;
      case 3: {
        if (static_cast<::google::protobuf::uint8>(tag) != 24) goto handle_unusual;
        msg->set_failure_threshold(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int32 initial_delay_seconds = 4;
      case 4: {
        if (static_cast<::google::protobuf::uint8>(tag) != 32) goto handle_unusual;
        msg->set_initial_delay_seconds(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_Spec_Health::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.Spec.Health)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // bool disabled = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &disabled_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 period_seconds = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &period_seconds_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 failure_threshold = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (24 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &failure_threshold_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 initial_delay_seconds = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (32 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &initial_delay_seconds_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.Spec.Health)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.Spec.Health)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_Spec_Health::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.Spec.Health)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool disabled = 1;
  if (this->disabled() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->disabled(), output);
  }

  // int32 period_seconds = 2;
  if (this->period_seconds() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->period_seconds(), output);
  }

  // int32 failure_threshold = 3;
  if (this->failure_threshold() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->failure_threshold(), output);
  }

  // int32 initial_delay_seconds = 4;
  if (this->initial_delay_seconds() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->initial_delay_seconds(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.Spec.Health)
}

::google::protobuf::uint8* GameServer_Spec_Health::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.Spec.Health)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool disabled = 1;
  if (this->disabled() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->disabled(), target);
  }

  // int32 period_seconds = 2;
  if (this->period_seconds() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->period_seconds(), target);
  }

  // int32 failure_threshold = 3;
  if (this->failure_threshold() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->failure_threshold(), target);
  }

  // int32 initial_delay_seconds = 4;
  if (this->initial_delay_seconds() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->initial_delay_seconds(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.Spec.Health)
  return target;
}

size_t GameServer_Spec_Health::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.Spec.Health)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bool disabled = 1;
  if (this->disabled() != 0) {
    total_size += 1 + 1;
  }

  // int32 period_seconds = 2;
  if (this->period_seconds() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->period_seconds());
  }

  // int32 failure_threshold = 3;
  if (this->failure_threshold() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->failure_threshold());
  }

  // int32 initial_delay_seconds = 4;
  if (this->initial_delay_seconds() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->initial_delay_seconds());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_Spec_Health::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.Spec.Health)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_Spec_Health* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_Spec_Health>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.Spec.Health)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.Spec.Health)
    MergeFrom(*source);
  }
}

void GameServer_Spec_Health::MergeFrom(const GameServer_Spec_Health& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.Spec.Health)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.disabled() != 0) {
    set_disabled(from.disabled());
  }
  if (from.period_seconds() != 0) {
    set_period_seconds(from.period_seconds());
  }
  if (from.failure_threshold() != 0) {
    set_failure_threshold(from.failure_threshold());
  }
  if (from.initial_delay_seconds() != 0) {
    set_initial_delay_seconds(from.initial_delay_seconds());
  }
}

void GameServer_Spec_Health::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.Spec.Health)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_Spec_Health::CopyFrom(const GameServer_Spec_Health& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.Spec.Health)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_Spec_Health::IsInitialized() const {
  return true;
}

void GameServer_Spec_Health::Swap(GameServer_Spec_Health* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_Spec_Health::InternalSwap(GameServer_Spec_Health* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(disabled_, other->disabled_);
  swap(period_seconds_, other->period_seconds_);
  swap(failure_threshold_, other->failure_threshold_);
  swap(initial_delay_seconds_, other->initial_delay_seconds_);
}

::google::protobuf::Metadata GameServer_Spec_Health::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer_Spec::InitAsDefaultInstance() {
  ::agones::dev::sdk::_GameServer_Spec_default_instance_._instance.get_mutable()->health_ = const_cast< ::agones::dev::sdk::GameServer_Spec_Health*>(
      ::agones::dev::sdk::GameServer_Spec_Health::internal_default_instance());
}
class GameServer_Spec::HasBitSetters {
 public:
  static const ::agones::dev::sdk::GameServer_Spec_Health& health(const GameServer_Spec* msg);
};

const ::agones::dev::sdk::GameServer_Spec_Health&
GameServer_Spec::HasBitSetters::health(const GameServer_Spec* msg) {
  return *msg->health_;
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_Spec::kHealthFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_Spec::GameServer_Spec()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.Spec)
}
GameServer_Spec::GameServer_Spec(const GameServer_Spec& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_health()) {
    health_ = new ::agones::dev::sdk::GameServer_Spec_Health(*from.health_);
  } else {
    health_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.Spec)
}

void GameServer_Spec::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_Spec_sdk_2eproto.base);
  health_ = nullptr;
}

GameServer_Spec::~GameServer_Spec() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.Spec)
  SharedDtor();
}

void GameServer_Spec::SharedDtor() {
  if (this != internal_default_instance()) delete health_;
}

void GameServer_Spec::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_Spec& GameServer_Spec::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_Spec_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_Spec::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.Spec)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaNoVirtual() == nullptr && health_ != nullptr) {
    delete health_;
  }
  health_ = nullptr;
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_Spec::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_Spec*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // .agones.dev.sdk.GameServer.Spec.Health health = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        parser_till_end = ::agones::dev::sdk::GameServer_Spec_Health::_InternalParse;
        object = msg->mutable_health();
        if (size > end - ptr) goto len_delim_till_end;
        ptr += size;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
            {parser_till_end, object}, ptr - size, ptr));
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_Spec::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.Spec)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .agones.dev.sdk.GameServer.Spec.Health health = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_health()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.Spec)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.Spec)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_Spec::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.Spec)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  if (this->has_health()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, HasBitSetters::health(this), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.Spec)
}

::google::protobuf::uint8* GameServer_Spec::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.Spec)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  if (this->has_health()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, HasBitSetters::health(this), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.Spec)
  return target;
}

size_t GameServer_Spec::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.Spec)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  if (this->has_health()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *health_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_Spec::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.Spec)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_Spec* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_Spec>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.Spec)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.Spec)
    MergeFrom(*source);
  }
}

void GameServer_Spec::MergeFrom(const GameServer_Spec& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.Spec)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_health()) {
    mutable_health()->::agones::dev::sdk::GameServer_Spec_Health::MergeFrom(from.health());
  }
}

void GameServer_Spec::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.Spec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_Spec::CopyFrom(const GameServer_Spec& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.Spec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_Spec::IsInitialized() const {
  return true;
}

void GameServer_Spec::Swap(GameServer_Spec* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_Spec::InternalSwap(GameServer_Spec* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(health_, other->health_);
}

::google::protobuf::Metadata GameServer_Spec::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer_Status_Port::InitAsDefaultInstance() {
}
class GameServer_Status_Port::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_Status_Port::kNameFieldNumber;
const int GameServer_Status_Port::kPortFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_Status_Port::GameServer_Status_Port()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.Status.Port)
}
GameServer_Status_Port::GameServer_Status_Port(const GameServer_Status_Port& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.name().size() > 0) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  port_ = from.port_;
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.Status.Port)
}

void GameServer_Status_Port::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_Status_Port_sdk_2eproto.base);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  port_ = 0;
}

GameServer_Status_Port::~GameServer_Status_Port() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.Status.Port)
  SharedDtor();
}

void GameServer_Status_Port::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void GameServer_Status_Port::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_Status_Port& GameServer_Status_Port::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_Status_Port_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_Status_Port::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.Status.Port)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  port_ = 0;
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_Status_Port::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_Status_Port*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // string name = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.Status.Port.name");
        object = msg->mutable_name();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // int32 port = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
        msg->set_port(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
string_till_end:
  static_cast<::std::string*>(object)->clear();
  static_cast<::std::string*>(object)->reserve(size);
  goto len_delim_till_end;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_Status_Port::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.Status.Port)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), static_cast<int>(this->name().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.Status.Port.name"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 port = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &port_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.Status.Port)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.Status.Port)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_Status_Port::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.Status.Port)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.Port.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // int32 port = 2;
  if (this->port() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->port(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.Status.Port)
}

::google::protobuf::uint8* GameServer_Status_Port::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.Status.Port)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), static_cast<int>(this->name().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.Port.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->name(), target);
  }

  // int32 port = 2;
  if (this->port() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->port(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.Status.Port)
  return target;
}

size_t GameServer_Status_Port::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.Status.Port)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string name = 1;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  // int32 port = 2;
  if (this->port() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->port());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_Status_Port::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.Status.Port)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_Status_Port* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_Status_Port>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.Status.Port)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.Status.Port)
    MergeFrom(*source);
  }
}

void GameServer_Status_Port::MergeFrom(const GameServer_Status_Port& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.Status.Port)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  if (from.port() != 0) {
    set_port(from.port());
  }
}

void GameServer_Status_Port::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.Status.Port)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_Status_Port::CopyFrom(const GameServer_Status_Port& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.Status.Port)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_Status_Port::IsInitialized() const {
  return true;
}

void GameServer_Status_Port::Swap(GameServer_Status_Port* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_Status_Port::InternalSwap(GameServer_Status_Port* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(port_, other->port_);
}

::google::protobuf::Metadata GameServer_Status_Port::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer_Status_PlayerStatus::InitAsDefaultInstance() {
}
class GameServer_Status_PlayerStatus::HasBitSetters {
 public:
};

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_Status_PlayerStatus::kCountFieldNumber;
const int GameServer_Status_PlayerStatus::kCapacityFieldNumber;
const int GameServer_Status_PlayerStatus::kIdsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_Status_PlayerStatus::GameServer_Status_PlayerStatus()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.Status.PlayerStatus)
}
GameServer_Status_PlayerStatus::GameServer_Status_PlayerStatus(const GameServer_Status_PlayerStatus& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr),
      ids_(from.ids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&count_, &from.count_,
    static_cast<size_t>(reinterpret_cast<char*>(&capacity_) -
    reinterpret_cast<char*>(&count_)) + sizeof(capacity_));
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.Status.PlayerStatus)
}

void GameServer_Status_PlayerStatus::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_Status_PlayerStatus_sdk_2eproto.base);
  ::memset(&count_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&capacity_) -
      reinterpret_cast<char*>(&count_)) + sizeof(capacity_));
}

GameServer_Status_PlayerStatus::~GameServer_Status_PlayerStatus() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.Status.PlayerStatus)
  SharedDtor();
}

void GameServer_Status_PlayerStatus::SharedDtor() {
}

void GameServer_Status_PlayerStatus::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_Status_PlayerStatus& GameServer_Status_PlayerStatus::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_Status_PlayerStatus_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_Status_PlayerStatus::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ids_.Clear();
  ::memset(&count_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&capacity_) -
      reinterpret_cast<char*>(&count_)) + sizeof(capacity_));
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_Status_PlayerStatus::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_Status_PlayerStatus*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // int64 count = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual;
        msg->set_count(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // int64 capacity = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
        msg->set_capacity(::google::protobuf::internal::ReadVarint(&ptr));
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        break;
      }
      // repeated string ids = 3;
      case 3: {
        if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual;
        do {
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.Status.PlayerStatus.ids");
          object = msg->add_ids();
          if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
            parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
            goto string_till_end;
          }
          GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
          ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
          ptr += size;
          if (ptr >= end) break;
        } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 26 && (ptr += 1));
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
string_till_end:
  static_cast<::std::string*>(object)->clear();
  static_cast<::std::string*>(object)->reserve(size);
  goto len_delim_till_end;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_Status_PlayerStatus::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int64 count = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &count_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 capacity = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &capacity_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string ids = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_ids()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->ids(this->ids_size() - 1).data(),
            static_cast<int>(this->ids(this->ids_size() - 1).length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.Status.PlayerStatus.ids"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.Status.PlayerStatus)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.Status.PlayerStatus)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_Status_PlayerStatus::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 count = 1;
  if (this->count() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->count(), output);
  }

  // int64 capacity = 2;
  if (this->capacity() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->capacity(), output);
  }

  // repeated string ids = 3;
  for (int i = 0, n = this->ids_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ids(i).data(), static_cast<int>(this->ids(i).length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.PlayerStatus.ids");
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->ids(i), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.Status.PlayerStatus)
}

::google::protobuf::uint8* GameServer_Status_PlayerStatus::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int64 count = 1;
  if (this->count() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->count(), target);
  }

  // int64 capacity = 2;
  if (this->capacity() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->capacity(), target);
  }

  // repeated string ids = 3;
  for (int i = 0, n = this->ids_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ids(i).data(), static_cast<int>(this->ids(i).length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.PlayerStatus.ids");
    target = ::google::protobuf::internal::WireFormatLite::
      WriteStringToArray(3, this->ids(i), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.Status.PlayerStatus)
  return target;
}

size_t GameServer_Status_PlayerStatus::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string ids = 3;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->ids_size());
  for (int i = 0, n = this->ids_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->ids(i));
  }

  // int64 count = 1;
  if (this->count() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->count());
  }

  // int64 capacity = 2;
  if (this->capacity() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->capacity());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_Status_PlayerStatus::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_Status_PlayerStatus* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_Status_PlayerStatus>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.Status.PlayerStatus)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.Status.PlayerStatus)
    MergeFrom(*source);
  }
}

void GameServer_Status_PlayerStatus::MergeFrom(const GameServer_Status_PlayerStatus& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  ids_.MergeFrom(from.ids_);
  if (from.count() != 0) {
    set_count(from.count());
  }
  if (from.capacity() != 0) {
    set_capacity(from.capacity());
  }
}

void GameServer_Status_PlayerStatus::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_Status_PlayerStatus::CopyFrom(const GameServer_Status_PlayerStatus& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.Status.PlayerStatus)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_Status_PlayerStatus::IsInitialized() const {
  return true;
}

void GameServer_Status_PlayerStatus::Swap(GameServer_Status_PlayerStatus* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_Status_PlayerStatus::InternalSwap(GameServer_Status_PlayerStatus* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  ids_.InternalSwap(CastToBase(&other->ids_));
  swap(count_, other->count_);
  swap(capacity_, other->capacity_);
}

::google::protobuf::Metadata GameServer_Status_PlayerStatus::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer_Status::InitAsDefaultInstance() {
  ::agones::dev::sdk::_GameServer_Status_default_instance_._instance.get_mutable()->players_ = const_cast< ::agones::dev::sdk::GameServer_Status_PlayerStatus*>(
      ::agones::dev::sdk::GameServer_Status_PlayerStatus::internal_default_instance());
}
class GameServer_Status::HasBitSetters {
 public:
  static const ::agones::dev::sdk::GameServer_Status_PlayerStatus& players(const GameServer_Status* msg);
};

const ::agones::dev::sdk::GameServer_Status_PlayerStatus&
GameServer_Status::HasBitSetters::players(const GameServer_Status* msg) {
  return *msg->players_;
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer_Status::kStateFieldNumber;
const int GameServer_Status::kAddressFieldNumber;
const int GameServer_Status::kPortsFieldNumber;
const int GameServer_Status::kPlayersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer_Status::GameServer_Status()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer.Status)
}
GameServer_Status::GameServer_Status(const GameServer_Status& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr),
      ports_(from.ports_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  state_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.state().size() > 0) {
    state_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.state_);
  }
  address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.address().size() > 0) {
    address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.address_);
  }
  if (from.has_players()) {
    players_ = new ::agones::dev::sdk::GameServer_Status_PlayerStatus(*from.players_);
  } else {
    players_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer.Status)
}

void GameServer_Status::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_Status_sdk_2eproto.base);
  state_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  players_ = nullptr;
}

GameServer_Status::~GameServer_Status() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer.Status)
  SharedDtor();
}

void GameServer_Status::SharedDtor() {
  state_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  address_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete players_;
}

void GameServer_Status::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer_Status& GameServer_Status::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_Status_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer_Status::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer.Status)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ports_.Clear();
  state_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == nullptr && players_ != nullptr) {
    delete players_;
  }
  players_ = nullptr;
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer_Status::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer_Status*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // string state = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.Status.state");
        object = msg->mutable_state();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // string address = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        ctx->extra_parse_data().SetFieldName("agones.dev.sdk.GameServer.Status.address");
        object = msg->mutable_address();
        if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) {
          parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8;
          goto string_till_end;
        }
        GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx));
        ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx);
        ptr += size;
        break;
      }
      // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
      case 3: {
        if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual;
        do {
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::agones::dev::sdk::GameServer_Status_Port::_InternalParse;
          object = msg->add_ports();
          if (size > end - ptr) goto len_delim_till_end;
          ptr += size;
          GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
              {parser_till_end, object}, ptr - size, ptr));
          if (ptr >= end) break;
        } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 26 && (ptr += 1));
        break;
      }
      // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
      case 4: {
        if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        parser_till_end = ::agones::dev::sdk::GameServer_Status_PlayerStatus::_InternalParse;
        object = msg->mutable_players();
        if (size > end - ptr) goto len_delim_till_end;
        ptr += size;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
            {parser_till_end, object}, ptr - size, ptr));
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
string_till_end:
  static_cast<::std::string*>(object)->clear();
  static_cast<::std::string*>(object)->reserve(size);
  goto len_delim_till_end;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer_Status::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer.Status)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string state = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_state()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->state().data(), static_cast<int>(this->state().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.Status.state"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string address = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_address()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->address().data(), static_cast<int>(this->address().length()),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "agones.dev.sdk.GameServer.Status.address"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_ports()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_players()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer.Status)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer.Status)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer_Status::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer.Status)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string state = 1;
  if (this->state().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->state().data(), static_cast<int>(this->state().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.state");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->state(), output);
  }

  // string address = 2;
  if (this->address().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->address().data(), static_cast<int>(this->address().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.address");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->address(), output);
  }

  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->ports_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3,
      this->ports(static_cast<int>(i)),
      output);
  }

  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  if (this->has_players()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      4, HasBitSetters::players(this), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer.Status)
}

::google::protobuf::uint8* GameServer_Status::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer.Status)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string state = 1;
  if (this->state().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->state().data(), static_cast<int>(this->state().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.state");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->state(), target);
  }

  // string address = 2;
  if (this->address().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->address().data(), static_cast<int>(this->address().length()),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "agones.dev.sdk.GameServer.Status.address");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->address(), target);
  }

  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->ports_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->ports(static_cast<int>(i)), target);
  }

  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  if (this->has_players()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        4, HasBitSetters::players(this), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer.Status)
  return target;
}

size_t GameServer_Status::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer.Status)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->ports_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->ports(static_cast<int>(i)));
    }
  }

  // string state = 1;
  if (this->state().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->state());
  }

  // string address = 2;
  if (this->address().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->address());
  }

  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  if (this->has_players()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *players_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer_Status::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer.Status)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer_Status* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer_Status>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer.Status)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer.Status)
    MergeFrom(*source);
  }
}

void GameServer_Status::MergeFrom(const GameServer_Status& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer.Status)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  ports_.MergeFrom(from.ports_);
  if (from.state().size() > 0) {

    state_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.state_);
  }
  if (from.address().size() > 0) {

    address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.address_);
  }
  if (from.has_players()) {
    mutable_players()->::agones::dev::sdk::GameServer_Status_PlayerStatus::MergeFrom(from.players());
  }
}

void GameServer_Status::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer.Status)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer_Status::CopyFrom(const GameServer_Status& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer.Status)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer_Status::IsInitialized() const {
  return true;
}

void GameServer_Status::Swap(GameServer_Status* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer_Status::InternalSwap(GameServer_Status* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  CastToBase(&ports_)->InternalSwap(CastToBase(&other->ports_));
  state_.Swap(&other->state_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  address_.Swap(&other->address_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(players_, other->players_);
}

::google::protobuf::Metadata GameServer_Status::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// ===================================================================

void GameServer::InitAsDefaultInstance() {
  ::agones::dev::sdk::_GameServer_default_instance_._instance.get_mutable()->object_meta_ = const_cast< ::agones::dev::sdk::GameServer_ObjectMeta*>(
      ::agones::dev::sdk::GameServer_ObjectMeta::internal_default_instance());
  ::agones::dev::sdk::_GameServer_default_instance_._instance.get_mutable()->spec_ = const_cast< ::agones::dev::sdk::GameServer_Spec*>(
      ::agones::dev::sdk::GameServer_Spec::internal_default_instance());
  ::agones::dev::sdk::_GameServer_default_instance_._instance.get_mutable()->status_ = const_cast< ::agones::dev::sdk::GameServer_Status*>(
      ::agones::dev::sdk::GameServer_Status::internal_default_instance());
}
class GameServer::HasBitSetters {
 public:
  static const ::agones::dev::sdk::GameServer_ObjectMeta& object_meta(const GameServer* msg);
  static const ::agones::dev::sdk::GameServer_Spec& spec(const GameServer* msg);
  static const ::agones::dev::sdk::GameServer_Status& status(const GameServer* msg);
};

const ::agones::dev::sdk::GameServer_ObjectMeta&
GameServer::HasBitSetters::object_meta(const GameServer* msg) {
  return *msg->object_meta_;
}
const ::agones::dev::sdk::GameServer_Spec&
GameServer::HasBitSetters::spec(const GameServer* msg) {
  return *msg->spec_;
}
const ::agones::dev::sdk::GameServer_Status&
GameServer::HasBitSetters::status(const GameServer* msg) {
  return *msg->status_;
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GameServer::kObjectMetaFieldNumber;
const int GameServer::kSpecFieldNumber;
const int GameServer::kStatusFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GameServer::GameServer()
  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:agones.dev.sdk.GameServer)
}
GameServer::GameServer(const GameServer& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_object_meta()) {
    object_meta_ = new ::agones::dev::sdk::GameServer_ObjectMeta(*from.object_meta_);
  } else {
    object_meta_ = nullptr;
  }
  if (from.has_spec()) {
    spec_ = new ::agones::dev::sdk::GameServer_Spec(*from.spec_);
  } else {
    spec_ = nullptr;
  }
  if (from.has_status()) {
    status_ = new ::agones::dev::sdk::GameServer_Status(*from.status_);
  } else {
    status_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:agones.dev.sdk.GameServer)
}

void GameServer::SharedCtor() {
  ::google::protobuf::internal::InitSCC(
      &scc_info_GameServer_sdk_2eproto.base);
  ::memset(&object_meta_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&status_) -
      reinterpret_cast<char*>(&object_meta_)) + sizeof(status_));
}

GameServer::~GameServer() {
  // @@protoc_insertion_point(destructor:agones.dev.sdk.GameServer)
  SharedDtor();
}

void GameServer::SharedDtor() {
  if (this != internal_default_instance()) delete object_meta_;
  if (this != internal_default_instance()) delete spec_;
  if (this != internal_default_instance()) delete status_;
}

void GameServer::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GameServer& GameServer::default_instance() {
  ::google::protobuf::internal::InitSCC(&::scc_info_GameServer_sdk_2eproto.base);
  return *internal_default_instance();
}


void GameServer::Clear() {
// @@protoc_insertion_point(message_clear_start:agones.dev.sdk.GameServer)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaNoVirtual() == nullptr && object_meta_ != nullptr) {
    delete object_meta_;
  }
  object_meta_ = nullptr;
  if (GetArenaNoVirtual() == nullptr && spec_ != nullptr) {
    delete spec_;
  }
  spec_ = nullptr;
  if (GetArenaNoVirtual() == nullptr && status_ != nullptr) {
    delete status_;
  }
  status_ = nullptr;
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GameServer::_InternalParse(const char* begin, const char* end, void* object,
                  ::google::protobuf::internal::ParseContext* ctx) {
  auto msg = static_cast<GameServer*>(object);
  ::google::protobuf::int32 size; (void)size;
  int depth; (void)depth;
  ::google::protobuf::uint32 tag;
  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
  auto ptr = begin;
  while (ptr < end) {
    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
    switch (tag >> 3) {
      // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
      case 1: {
        if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        parser_till_end = ::agones::dev::sdk::GameServer_ObjectMeta::_InternalParse;
        object = msg->mutable_object_meta();
        if (size > end - ptr) goto len_delim_till_end;
        ptr += size;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
            {parser_till_end, object}, ptr - size, ptr));
        break;
      }
      // .agones.dev.sdk.GameServer.Spec spec = 2;
      case 2: {
        if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        parser_till_end = ::agones::dev::sdk::GameServer_Spec::_InternalParse;
        object = msg->mutable_spec();
        if (size > end - ptr) goto len_delim_till_end;
        ptr += size;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
            {parser_till_end, object}, ptr - size, ptr));
        break;
      }
      // .agones.dev.sdk.GameServer.Status status = 3;
      case 3: {
        if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual;
        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
        parser_till_end = ::agones::dev::sdk::GameServer_Status::_InternalParse;
        object = msg->mutable_status();
        if (size > end - ptr) goto len_delim_till_end;
        ptr += size;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
            {parser_till_end, object}, ptr - size, ptr));
        break;
      }
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->EndGroup(tag);
          return ptr;
        }
        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
        ptr = res.first;
        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
        if (res.second) return ptr;
      }
    }  // switch
  }  // while
  return ptr;
len_delim_till_end:
  return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg},
                               {parser_till_end, object}, size);
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GameServer::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:agones.dev.sdk.GameServer)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_object_meta()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .agones.dev.sdk.GameServer.Spec spec = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_spec()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .agones.dev.sdk.GameServer.Status status = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_status()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:agones.dev.sdk.GameServer)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:agones.dev.sdk.GameServer)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GameServer::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:agones.dev.sdk.GameServer)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  if (this->has_object_meta()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, HasBitSetters::object_meta(this), output);
  }

  // .agones.dev.sdk.GameServer.Spec spec = 2;
  if (this->has_spec()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, HasBitSetters::spec(this), output);
  }

  // .agones.dev.sdk.GameServer.Status status = 3;
  if (this->has_status()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, HasBitSetters::status(this), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:agones.dev.sdk.GameServer)
}

::google::protobuf::uint8* GameServer::InternalSerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:agones.dev.sdk.GameServer)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  if (this->has_object_meta()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, HasBitSetters::object_meta(this), target);
  }

  // .agones.dev.sdk.GameServer.Spec spec = 2;
  if (this->has_spec()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, HasBitSetters::spec(this), target);
  }

  // .agones.dev.sdk.GameServer.Status status = 3;
  if (this->has_status()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, HasBitSetters::status(this), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:agones.dev.sdk.GameServer)
  return target;
}

size_t GameServer::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:agones.dev.sdk.GameServer)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  if (this->has_object_meta()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *object_meta_);
  }

  // .agones.dev.sdk.GameServer.Spec spec = 2;
  if (this->has_spec()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *spec_);
  }

  // .agones.dev.sdk.GameServer.Status status = 3;
  if (this->has_status()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *status_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GameServer::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:agones.dev.sdk.GameServer)
  GOOGLE_DCHECK_NE(&from, this);
  const GameServer* source =
      ::google::protobuf::DynamicCastToGenerated<GameServer>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:agones.dev.sdk.GameServer)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:agones.dev.sdk.GameServer)
    MergeFrom(*source);
  }
}

void GameServer::MergeFrom(const GameServer& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:agones.dev.sdk.GameServer)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_object_meta()) {
    mutable_object_meta()->::agones::dev::sdk::GameServer_ObjectMeta::MergeFrom(from.object_meta());
  }
  if (from.has_spec()) {
    mutable_spec()->::agones::dev::sdk::GameServer_Spec::MergeFrom(from.spec());
  }
  if (from.has_status()) {
    mutable_status()->::agones::dev::sdk::GameServer_Status::MergeFrom(from.status());
  }
}

void GameServer::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:agones.dev.sdk.GameServer)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GameServer::CopyFrom(const GameServer& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:agones.dev.sdk.GameServer)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GameServer::IsInitialized() const {
  return true;
}

void GameServer::Swap(GameServer* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GameServer::InternalSwap(GameServer* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(object_meta_, other->object_meta_);
  swap(spec_, other->spec_);
  swap(status_, other->status_);
}

::google::protobuf::Metadata GameServer::GetMetadata() const {
  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_sdk_2eproto);
  return ::file_level_metadata_sdk_2eproto[kIndexInFileMessages];
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace sdk
}  // namespace dev
}  // namespace agones
namespace google {
namespace protobuf {
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::Empty* Arena::CreateMaybeMessage< ::agones::dev::sdk::Empty >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::Empty >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::KeyValue* Arena::CreateMaybeMessage< ::agones::dev::sdk::KeyValue >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::KeyValue >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::Duration* Arena::CreateMaybeMessage< ::agones::dev::sdk::Duration >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::Duration >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_ObjectMeta* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_ObjectMeta >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_ObjectMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_Spec_Health* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_Spec_Health >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_Spec_Health >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_Spec* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_Spec >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_Spec >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_Status_Port* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_Status_Port >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_Status_Port >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_Status_PlayerStatus* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_Status_PlayerStatus >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_Status_PlayerStatus >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer_Status* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer_Status >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer_Status >(arena);
}
template<> PROTOBUF_NOINLINE ::agones::dev::sdk::GameServer* Arena::CreateMaybeMessage< ::agones::dev::sdk::GameServer >(Arena* arena) {
  return Arena::CreateInternal< ::agones::dev::sdk::GameServer >(arena);
}
}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
